package com.huangyi;
import java.util.HashSet;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        //判定是否互为字符重排
        class Solution {
            public boolean CheckPermutation(String ss1, String ss2) {
                // 长度不等，必然不是排列
                if (ss1.length() != ss2.length()) return false;

                int[] hash1 = new int[26];
                int[] hash2 = new int[26];

                // 统计 s1 的字符频率
                for (int i = 0; i < ss1.length(); i++) {
                    hash1[ss1.charAt(i) - 'a']++;
                }
                // 统计 s2 的字符频率
                for (int j = 0; j < ss2.length(); j++) {
                    hash2[ss2.charAt(j) - 'a']++;
                }

                // 对比频率表
                for (int k = 0; k < 26; k++) {
                    if (hash1[k] != hash2[k]) {
                        return false;
                    }
                }
                return true;
            }
        }


        //存在重复元素
        class Solution2 {
            public boolean containsDuplicate(int[] nums) {
                Set<Integer> seen = new HashSet<>();
                for (int x : nums) {
                    if (!seen.add(x)) { // 已经存在，add 失败
                        return true;    // 有重复
                    }
                }
                return false; // 没有重复
            }
        }

    }
}